// #include <iostream>
// #include <string>
// #include "dem.h"
// using namespace std;
//
// //c++ 特殊成员
// /***
//  *
//  * static 成员
//  * 访问不需要对象 直接可以使用类名限定方式访问
//  * static数据 所有对象共有的
//  *
//  **/
//
// int Test::count=1;
// void Test::print()
// {
//     cout << "test" << endl;
// }
//
//
// class MM
// {
// public:
//     // 静态数据成员
//     // 静态数据必须在类外做初始化
//     static int count;
//
//     //静态函数 类中实现
//     static void print_value()
//     {
//         cout <<"bcd"<< endl;
//     }
//
//     static void print_data();
// protected:
//     string name{"abc"};
// private:
// };
// //类外不需要static-> 类外需要类名限定  依旧受权限限定
// int MM::count=0;
//
// void MM::print_data()
// {
//     //静态函数访问数据
//     //静态函数可以直接访问静态数据成员
//     cout <<"abc"<< endl;
//     //静态函数不能直接访问非静态数据成员
//     // cout << name << endl; //这是错误的
// }
//
// class Girl
// {
// public:
//     Girl()
//     {
//         count++;
//     }
//     static int count;
//     int value={0};
// };
//
// int Girl::count=0;
//
//
// int main()
// {
//     //依然受类外限定 静态数据不需要对象
//     cout << MM::count << endl;
//     MM::print_data();
//     MM::print_value();
//
//     //理解下共有的含义
//     Girl obj1;
//     Girl obj2;
//     Girl obj3;
//
//     cout << obj1.count << endl;
//     cout << obj2.count << endl;
//     cout << obj3.count << endl;
//
//     //静态对象 最后被释放
//     static MM object_mm;
//
//
//
//     return 0;
// }
//
